package main

import "encoding/json"

var (
	RES_CODE_SUCCESS = 200
	RES_MSG_SUCCESS  = "操作成功"
	RES_CODE_ERROR   = 500
	RES_MSG_ERROR    = "操作失败"
)

type Res struct {
	Code int         `json:"code"`
	Msg  string      `json:"msg"`
	Data interface{} `json:"data"`
	Time int64       `json:"time"`
}

// 操作成功
func ResSuccess(msg string) string {
	if msg == "" {
		msg = RES_MSG_SUCCESS
	}
	var res = Res{
		Code: RES_CODE_SUCCESS,
		Msg:  msg,
	}
	// 转json字符串
	jsonStr, err := json.Marshal(res)
	if err != nil {
		return ""
	}
	return string(jsonStr)
}

// 操作成功有数据
func ResSuccessData(data interface{}, msg string, time int64) string {
	if msg == "" {
		msg = RES_MSG_SUCCESS
	}
	var res = Res{
		Code: RES_CODE_SUCCESS,
		Msg:  msg,
		Data: data,
		Time: time,
	}
	// 转json字符串
	jsonStr, err := json.Marshal(res)
	if err != nil {
		return ""
	}
	return string(jsonStr)
}

// 操作失败
func ResError(msg string) string {
	if msg == "" {
		msg = RES_MSG_ERROR
	}
	var res = Res{
		Code: RES_CODE_ERROR,
		Msg:  msg,
	}
	// 转json字符串
	jsonStr, err := json.Marshal(res)
	if err != nil {
		return ""
	}
	return string(jsonStr)
}

// 操作失败有数据
func ResErrorData(data interface{}, msg string) string {
	if msg == "" {
		msg = RES_MSG_ERROR
	}
	var res = Res{
		Code: RES_CODE_ERROR,
		Msg:  msg,
		Data: data,
	}
	// 转json字符串
	jsonStr, err := json.Marshal(res)
	if err != nil {
		return ""
	}
	return string(jsonStr)
}
